package com.linkhub.oms.admin.modules.product.service;

import com.linkhub.oms.admin.modules.product.domain.param.*;
import com.linkhub.oms.admin.modules.product.domain.vo.LocalProductDetailsVO;
import com.linkhub.oms.admin.modules.product.domain.vo.LocalProductSearchVO;
import com.linkhub.oms.admin.modules.product.domain.vo.LocalProductUploadPic;
import com.linkhub.oms.common.response.PageDTO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @Description: LocalProductBizService
 * @Author: echo
 * @Date: 2024/3/28 15:53
 * @Version: 1.0
 */
public interface LocalProductBizService {

    /**
     * 分页查询本地商品信息
     *
     * @param queryParam queryParam
     * @return localProducts
     */
    PageDTO<LocalProductSearchVO> pageSearchLocalProducts( LocalProductQueryParam queryParam );

    /**
     * 新增本地商品
     *
     * @param localProductAddParam localProductAddParam
     */
    void saveLocalProduct( LocalProductAddParam localProductAddParam );

    /**
     * 查询供应商本地商品
     *
     * @param supplierQueryLocalProductParam supplierQueryLocalProductParam
     * @return localProducts
     */
    List<LocalProductSearchVO> queryLocalProductBySupplierId( SupplierQueryLocalProductParam supplierQueryLocalProductParam );

    LocalProductDetailsVO localProductsDetails( String skuId );

    LocalProductUploadPic uploadPic( String userId, String skuId, MultipartFile picFile );

    void editLocalProduct( String skuId, LocalProductEditParam localProductEditParam );

    /**
     * 本地商品仓库复核
     *
     * @param skuId
     * @param localProductRecheckParam
     */
    void localProductRecheck( String skuId, LocalProductRecheckParam localProductRecheckParam );
}
